﻿using System;
using Autodesk.Revit.DB;

namespace HYRevitCode.ElementSearchUtility.LinkDocumentSuite
{
	public class ElementGeometryPacker
	{
		public ElementGeometryPacker(XYZ inputMaxZ, XYZ inputMinZ, XYZ inputMaxY, XYZ inputMinY, XYZ inputMaxX, XYZ inputMinX, XYZ inputCenterPoint, bool ifCanUse)
		{
			this.maxZPoint = inputMaxZ;
			this.maxZ = inputMaxZ.Z;
			this.minZPoint = inputMinZ;
			this.minZ = inputMinZ.Z;
			this.maxYPoint = inputMaxY;
			this.maxY = inputMaxY.Y;
			this.minYPoint = inputMinY;
			this.minY = inputMinY.Y;
			this.maxXPoint = inputMaxX;
			this.maxX = inputMaxX.X;
			this.minXPoint = inputMinX;
			this.minX = inputMinX.X;
			this.centerPoint = inputCenterPoint;
			this.ifCanUse = ifCanUse;
		}

		public double MaxZ
		{
			get
			{
				return this.maxZ;
			}
		}

		public double MinZ
		{
			get
			{
				return this.minZ;
			}
		}

		public double MaxY
		{
			get
			{
				return this.maxY;
			}
		}

		public double MinY
		{
			get
			{
				return this.minY;
			}
		}

		public double MaxX
		{
			get
			{
				return this.maxX;
			}
		}

		public double MinX
		{
			get
			{
				return this.minX;
			}
		}

		public XYZ CenterPoint
		{
			get
			{
				return this.centerPoint;
			}
		}

		public XYZ MaxZPoint
		{
			get
			{
				return this.maxZPoint;
			}
		}

		public XYZ MinZPoint
		{
			get
			{
				return this.minZPoint;
			}
		}

		public XYZ MaxYPoint
		{
			get
			{
				return this.maxYPoint;
			}
		}

		public XYZ MinYPoint
		{
			get
			{
				return this.minYPoint;
			}
		}

		public XYZ MaxXPoint
		{
			get
			{
				return this.maxXPoint;
			}
		}

		public XYZ MinXPoint
		{
			get
			{
				return this.minXPoint;
			}
		}

		public bool IfCanUse
		{
			get
			{
				return this.ifCanUse;
			}
		}

		private bool ifCanUse;

		private double maxZ;

		private double minZ;

		private double maxY;

		private double minY;

		private double maxX;

		private double minX;

		private XYZ maxZPoint;

		private XYZ minZPoint;

		private XYZ maxYPoint;

		private XYZ minYPoint;

		private XYZ maxXPoint;

		private XYZ minXPoint;

		private XYZ centerPoint;
	}
}
